package com.hd.sup.modules.terminal.model;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * <p>
 * 终端信息表
 * </p>
 *
 * @author chentl123
 * @since 2020-12-28
 */
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("sp_terminal")
public class Terminal extends Model<Terminal> {

    private static final long serialVersionUID = 1L;

    //终端查询构造
    public Terminal(String terminalNo, String terminalType, String installDateStr) {
        this.terminalNo = terminalNo;
        this.terminalType = terminalType;
        this.installDateStr = installDateStr;
    }

    /**
     * 终端id
     */
    private String id;
    /**
     * 终端编号
     */
    @TableField("terminal_no")
    private String terminalNo;
    /**
     * 终端类型
     */
    @TableField("terminal_type")
    private String terminalType;
    /**
     * 安装日期
     */
    @TableField("install_date")
    private Date installDate;
    /**
     * 最后上线时间
     */
    @TableField("last_login_time")
    private Date lastLoginTime;
    /**
     * 在线状态| 0 离线 1 在线
     */
    @TableField("online_status")
    private String onlineStatus;
    /**
     * 通道信息 | json格式  包括 通道名称、通道编号、支持云台(是/否)
     */
    @TableField("channel_info")
    private String channelInfo;
    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;
    /**
     * 安装日期参数
     */
    @TableField(exist = false)
    private String installDateStr;

    @TableField(exist = false)
    private Integer limit;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
